﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data;
using System.Web.Security;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Collections;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

namespace FrontEndPlus.Módulos.Publicidad
{
    public partial class frm_Mensajes_SMS : System.Web.UI.Page
    {
        #region Variables

        WCF_Gimnasio.cls_Mensajeria_Sms _sms = new WCF_Gimnasio.cls_Mensajeria_Sms();
        WCF_Gimnasio.ServiceClient _servicio = new WCF_Gimnasio.ServiceClient();
        public DataTable _listasDistribucion;
        public DataTable _listasTelefonos;
        public DataSet _Rutina;
        public DataSet _numeros;
        public string _nombreRutina;

        #endregion
        // metodo del sistema load llena el dropdown list con las listas de rutinas
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                lista_distribucion();
                txt_numero.Enabled = false;


            }

        }

       
        // metodo que devuelve las listas de distribucion
        private void lista_distribucion()
        {
            //Llenado del dropdownlist
            DataSet ds = new DataSet("table");
            //_listasDistribucion = _servicio.Listar(1, _sms).Tables[0].Copy();
            ds.Tables.Add(_servicio.Listar(1, _sms).Tables[0].Copy());
            if (ds != null)
            {

                drpl_distribucion.DataSource = ds;
                //drpl_distribucion.DataTextField = "NOMBRE_ROL";
                drpl_distribucion.DataBind();
                _servicio.Close();
            }
            else
            {
                Response.Write("<script type=\"text/javascript\">alert('Debe digitar el mensaje de texto, este o puede ir vacio');</script>");
                txt_numero.Enabled = true;
                drpl_distribucion.Enabled = false;
            }
 
        }
        //Evento envia SMS, al usuario o los usuarios
        protected void b_procesar_Click(object sender, EventArgs e)
        {
            try
            {
                if (drpl_distribucion.Enabled == true)
                {
                    if ((!string.IsNullOrEmpty(txt_mensaje.Text)))
                    {
                        // Se selecciona el tipo de rutina para saber a quien enviar los SMS
                        _sms.nombreRutina = drpl_distribucion.SelectedItem.Text;

                        // Se trae la lista de los numeros de telefonos en base a esa rutina.
                        _numeros = _servicio.Listar(2, _sms);
                        foreach (DataRow row in _numeros.Tables[0].Rows)
                        {
                            string valor1 = Convert.ToString(row["TELEFONO"]);
                            _sms.mensaje = txt_mensaje.Text;
                            _sms.destinatarios = Convert.ToInt32(valor1);
                            object resultado = new object();
                            _servicio.OtrosProcesos(1, ref resultado, _sms);
                            Response.Write("<script type=\"text/javascript\">alert('Mensaje enviado con exito" + valor1 + "');</script>");
                            _servicio.Close();
                        }//foreach
                    }//if
                    else
                    {
                        Response.Write("<script type=\"text/javascript\">alert('Debe digitar el mensaje de texto, este o puede ir vacio');</script>");
                    }// else
                }
                else
                {
                    if ((!string.IsNullOrEmpty(txt_mensaje.Text)) && (!string.IsNullOrEmpty(txt_numero.Text)))
                    {
                        string rtn = "";
                        _sms.mensaje = txt_mensaje.Text;
                        _sms.destinatarios = Convert.ToInt32(txt_numero.Text);
                        _sms.fecha = DateTime.Now;
                        _sms.idUsuario = Convert.ToInt32(Session["idUSuario"]);
                        object resultado = new object();
                        // _servicio.InsertarActualizarRegistro(true, ref rtn, _sms);
                        _servicio.OtrosProcesos(1, ref resultado, _sms);
                        _servicio.Close();
                    }
                    else
                    {
                        Response.Write("<script type=\"text/javascript\">alert('Debe digitar el mensaje de texto, este no puede ir vacio');</script>");

                    }
                }
            }
            catch (Exception ex)
            {
                Response.Write("<script type=\"text/javascript\">alert('" + ex.Message + "');</script>");
            }
            
        }

        //habilita la caja de texto para sms individual
        protected void Button1_Click(object sender, EventArgs e)
        {
            txt_numero.Enabled = true;
            drpl_distribucion.Enabled = false;
        }
        // habilita el dropdown list de si fue que se inbilito
        protected void Button2_Click(object sender, EventArgs e)
        {
            txt_numero.Enabled = false;
            drpl_distribucion.Enabled = true;
        }

        protected void drpl_distribucion_SelectedIndexChanged(object sender, EventArgs e)
        {

        }



    }
}